package org.celery.modules.shop.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springblade.core.mp.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 店铺表实体类
 *
 * @author Celery
 * @since 2023-06-12
 */
@Data
@TableName("celery_shop")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Shop对象", description = "店铺表")
public class Shop extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 店铺表主键id
     */
    @ApiModelProperty(value = "店铺表主键id")
    @JsonSerialize(using = ToStringSerializer.class)
  private Long id;
    /**
     * 租户ID
    */
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    /**
     * 阿里巴巴集团统一的id
     */
    @ApiModelProperty(value = "阿里巴巴集团统一的id")
    private Long aliId;
    /**
     * 登录id
     */
    @ApiModelProperty(value = "登录id")
    private String resourceOwner;
    /**
     * 会员接口id
     */
    @ApiModelProperty(value = "会员接口id")
    private String memberId;
    /**
     * 过期秒数
     */
    @ApiModelProperty(value = "过期秒数")
    private Long expiresIn;
    /**
     * 刷新token
     */
    @ApiModelProperty(value = "刷新token")
    private String refreshToken;
    /**
     * 访问token
     */
    @ApiModelProperty(value = "访问token")
    private String accessToken;
    /**
     * refreshToken的过期时间
     */
    @ApiModelProperty(value = "refreshToken的过期时间")
    private Date refreshTokenTimeout;
    /**
     * 支付订单数
    */
    @ApiModelProperty(value = "支付订单数")
    private BigDecimal payCount;
  /**
   * 支付买家数
   */
  @ApiModelProperty(value = "支付买家数")
  private BigDecimal payUserCount;
  /**
   * 实时访客数
   */
  @ApiModelProperty(value = "实时访客数")
  private BigDecimal visitUserCount;
  /**
   * 实时浏览量
   */
  @ApiModelProperty(value = "实时浏览量")
  private BigDecimal watchCount;
  /**
   * 营业执照名字
   */
  @ApiModelProperty(value = "营业执照名字")
  private String businessLicense;
  /**
   * 营业执照名字
   */
  @ApiModelProperty(value = "店铺会员名")
  private String shopUserName;
  /**
   * 执照店铺法人
   */
  @ApiModelProperty(value = "执照店铺法人")
  private String businessLicenseLegal;
  /**
   * 手机号
   */
  @ApiModelProperty(value = "手机号")
  private String telephone;
  /**
   * 手机号法人
   */
  @ApiModelProperty(value = "手机号法人")
  private String telephoneLegal;
  /**
   * 支付宝账号
   */
  @ApiModelProperty(value = "支付宝账号")
  private String aliPayAccount;
  /**
   * 支付宝法人
   */
  @ApiModelProperty(value = "支付宝法人")
  private String aliPayLegal;
  /**
   * 支付宝绑定的手机号
   */
  @ApiModelProperty(value = "支付宝绑定的手机号")
  private String aliPayTelephone;
  /**
   * 付款诚信通支付宝
   */
  @ApiModelProperty(value = "付款诚信通支付宝")
  private String cxtAlipay;
  /**
   * 服务器购买账号
   */
  @ApiModelProperty(value = "服务器购买账号")
  private String serverBuyAccount;
  /**
   * 服务器id
   */
  @ApiModelProperty(value = "服务器id")
  private String serverId;
  /**
   * 服务器购买账号认证人
   */
  @ApiModelProperty(value = "服务器购买账号认证人")
  private String serverBuyPerson;
  /**
   * 开店日期
   */
  @ApiModelProperty(value = "开店日期")
  @DateTimeFormat(
          pattern = "yyyy-MM-dd HH:mm:ss"
  )
  @JsonFormat(
          pattern = "yyyy-MM-dd HH:mm:ss"
  )
  private LocalDateTime openDate;


}
